package com.yfp.client.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 客户优惠券
 * @TableName client_coupon
 */
@TableName(value ="client_coupon")
@Data
public class ClientCoupon implements Serializable {
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    @Schema(description = "客户ID")
    private String clientId;
    @Schema(description = "优惠券ID")
    private Long couponId;
    @Schema(description = "优惠券名称")
    private String couponName;
    @Schema(description = "优惠券描述")
    private String remark;
    @Schema(description = "使用门槛 0 无使用门槛")
    private BigDecimal threshold;
    @Schema(description = "优惠内容")
    private BigDecimal discounts;
    @Schema(description = "有效开始时间")
    private Date validStartTime;
    @Schema(description = "有效结束时间")
    private Date validEndTime;
    @Schema(description = "0 表示普通全部点位，1普通多个点位 ,2 特殊全部点位，3特殊多个点位")
    private Integer position;
    @Schema(description = "参与套餐：0表示全部套餐， 1多个套餐")
    private Integer combo;
    @Schema(description = "使用规则")
    private String rule;
    @Schema(description = "状态0失效1正常2已使用3已过期")
    private Integer status;
    @Schema(description = "创建时间")
    private Date createTime;
    @Schema(description = "券类型1满减券2折扣券3单品券4新人券5霸王免单券")
    private Integer type;
    @Schema(description = "优惠方式1满减2折扣")
    private Integer discountsType;
    @Schema(description = "到期延期天数")
    private Integer postponeDay;
    @Schema(description = "礼包ID")
    private Long couponPackId;
    @Schema(description = "来源")
    private Integer sourceType;
    @Schema(description = "运营城市")
    private String cityName;
    @Schema(description = "bannerID")
    private Long miniBannerId;
    @Schema(description = "储值记录id")
    private Long clientBillId;
    @Schema(description = "抽奖记录表id")
    private Long lotteryRecordsClientRecordsId;
    /**
     * 打卡管理-参与用户领取表id
     */
    @Schema(description = "打卡管理-参与用户领取表id")
    private Long activitySignInsClientRecordsId;


    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}